草庐IT

AtCoder Beginner Contest 262 题解

全部标签

「题解报告」[POI2008]PER-Permutation

「题解报告」[POI2008]PER-Permutation点击查看目录目录「题解报告」[POI2008]PER-Permutation思路代码不理解哪里难了,学过扩卢并且推一下式子基本就是两眼切吧。个人感觉顶多上位紫。思路首先设\(f_i\)表示前\(i-1\)位固定,第\(i\)位选一个比原来小的,后面随便排的方案数。显然\((\sum_{i=1}^{n}f_i)+1\)为答案,那么考虑如何快速求出\(f_i\)。考虑用“交换”的思想,即在后\(n-i\)个数中找到比\(a_i\)小的数和它换一下,然后再随便排。然而这里是可重集,所以还要去重乘上\(\dfrac{1}{\prod_{j}(

「题解」火神之友

(火神:爷究竟交了些什么冤种……)原题目链接:link「我的做题历程」:step1:观察题面。  「他的好朋友风神给他一个有N个自然数的数组,然后对他进行Q次查询。每一次查询包含两个正整数\(L,R\),表示一个数组中的一个区间\([L,R]\),火神需要回答在这个区间中有多少个值刚好出现\(2\)次」,对于这种单点修改区间查询(但此处是对区间元素种类总数的查询),自然是想到树状数组,当然也有可能是莫队。(对于目前所学而言,题型:树状数组)step2:思考解法。  先从最简单的想起。假如数组元素全部相同的话(默认枚举指针为\(i\))。  (就像酱紫↓)  随着区域左指针不变,右指针从左往右遍

「题解」火神之友

(火神:爷究竟交了些什么冤种……)原题目链接:link「我的做题历程」:step1:观察题面。  「他的好朋友风神给他一个有N个自然数的数组,然后对他进行Q次查询。每一次查询包含两个正整数\(L,R\),表示一个数组中的一个区间\([L,R]\),火神需要回答在这个区间中有多少个值刚好出现\(2\)次」,对于这种单点修改区间查询(但此处是对区间元素种类总数的查询),自然是想到树状数组,当然也有可能是莫队。(对于目前所学而言,题型:树状数组)step2:思考解法。  先从最简单的想起。假如数组元素全部相同的话(默认枚举指针为\(i\))。  (就像酱紫↓)  随着区域左指针不变,右指针从左往右遍

NOIP2022第二题喵了个喵题解与SPJ

题目大意:n个双端队列,操作1可以从队尾入队,相邻相同则消除队尾两个元素;操作2可以选择两个队头元素相同的队列,消除两个队头元素,m个范围在1~2n-1的元素进来,如果操作才能让最终所有队列为空?解题思路对于元素种类为2n-2的情况,每个队列只放2个元素,即使放满,也是可以消除的:在队尾就通过入队直接消除;在队头就利用空队进行消除。这启发我们要利用好空队,但有一种情况,不得不用空队,那就是连续2n-1个元素都不一样。如果后面元素是队头,我们可以不用空队,让队头所在队列临时存放3个,他很快就被消除回2个元素了。因为他是最早需要用空队的,其他都可以通过队尾消除或者放入新的空位。(此刻之前其他元素都

NOIP2022第二题喵了个喵题解与SPJ

题目大意:n个双端队列,操作1可以从队尾入队,相邻相同则消除队尾两个元素;操作2可以选择两个队头元素相同的队列,消除两个队头元素,m个范围在1~2n-1的元素进来,如果操作才能让最终所有队列为空?解题思路对于元素种类为2n-2的情况,每个队列只放2个元素,即使放满,也是可以消除的:在队尾就通过入队直接消除;在队头就利用空队进行消除。这启发我们要利用好空队,但有一种情况,不得不用空队,那就是连续2n-1个元素都不一样。如果后面元素是队头,我们可以不用空队,让队头所在队列临时存放3个,他很快就被消除回2个元素了。因为他是最早需要用空队的,其他都可以通过队尾消除或者放入新的空位。(此刻之前其他元素都

吾爱破解 2023 春节解题领红包之 Web 题解

(图作者|吾爱破解@Ps出来的小赵)吾爱破解每年都有个解题领红包活动,今年也不例外,需要我们使出看家逆向本领来分析内容获得口令红包,根据难度等级不同会获得不同数量的吾爱币,活动持续到元宵节结束。活动一共有十个题,本文仅分享Web初级、中级、高级三个题的逆向思路。活动地址:https://www.52pojie.cn/thread-1738015-1-1.html题目简介三个Web题的线索都在一个视频里:https://www.bilibili.com/video/BV123411R7K6/视频中包含12个静态flag:flag1~flag12,另外还需要寻找到3个动态flag:flagA~fl

吾爱破解 2023 春节解题领红包之 Web 题解

(图作者|吾爱破解@Ps出来的小赵)吾爱破解每年都有个解题领红包活动,今年也不例外,需要我们使出看家逆向本领来分析内容获得口令红包,根据难度等级不同会获得不同数量的吾爱币,活动持续到元宵节结束。活动一共有十个题,本文仅分享Web初级、中级、高级三个题的逆向思路。活动地址:https://www.52pojie.cn/thread-1738015-1-1.html题目简介三个Web题的线索都在一个视频里:https://www.bilibili.com/video/BV123411R7K6/视频中包含12个静态flag:flag1~flag12,另外还需要寻找到3个动态flag:flagA~fl

CF1709A Three Doors 题解

题目大意有\(3\)个门,有两个门后面会有一个钥匙,你现在手中有一把钥匙,问你能不能打开所有的门。题目分析我们可以一步一步推导,既然给了我们一把钥匙编号为\(x\),也就是可以打开编号为\(x\)的门,我们用\(a_x\)表示这扇门后面钥匙的编号,将可以打开的门标记起来,然后产生分类讨论:如果是\(a_x\)等于\(0\)的话,就没有钥匙,不用标记,直接输出NO。如果\(a_x\)不等于\(0\)的话,就说明可以打开下一个门,用\(f\)数组标记,然后可以继续讨论,不过讨论时变成了判断\(a_{a_x}\),以此类推。但是到达最后一次的时候,不管\(a_{a_{a_x}}\)是否等于\(0\)

CF1709A Three Doors 题解

题目大意有\(3\)个门,有两个门后面会有一个钥匙,你现在手中有一把钥匙,问你能不能打开所有的门。题目分析我们可以一步一步推导,既然给了我们一把钥匙编号为\(x\),也就是可以打开编号为\(x\)的门,我们用\(a_x\)表示这扇门后面钥匙的编号,将可以打开的门标记起来,然后产生分类讨论:如果是\(a_x\)等于\(0\)的话,就没有钥匙,不用标记,直接输出NO。如果\(a_x\)不等于\(0\)的话,就说明可以打开下一个门,用\(f\)数组标记,然后可以继续讨论,不过讨论时变成了判断\(a_{a_x}\),以此类推。但是到达最后一次的时候,不管\(a_{a_{a_x}}\)是否等于\(0\)

[IOI2000]邮局 题解

简要题意线段上有\(V\)个村庄,现在要建\(P\)个邮局,使每个村庄到最近的邮局的距离之和最小。50分做法设\(dp[i][j]\)表示第一个村庄到第\(i\)个村庄,建了\(j\)个邮局的最小距离,不难得出状态转移方程:\(dp[i][j]=min(dp[k][j-1]+w[k+1][i])\),其中\(w[i][j]\)表示在第\(i\)和\(j\)个村庄之间建一个邮局的最短总距离。根据初中知识不难求得,邮局建在第\(i\)到\(j\)个村庄的中位数的位置上(奇数个村庄)或第\(i\)到\(j\)个村庄的两个中位数之间(偶数个村庄),则总距离最短,因此我们可以递推求出\(w[i][j]\